// Copyright Epic Games, Inc. All Rights Reserved.

#pragma once

#include "Engine/DeveloperSettingsBackedByCVars.h"

#include "LyraWeaponDebugSettings.generated.h"

class UObject;

/**
 * 武器的开发者调试设置
 */
UCLASS(config=EditorPerProjectUserSettings)
class ULyraWeaponDebugSettings : public UDeveloperSettingsBackedByCVars
{
	GENERATED_BODY()

public:
	// 构造函数
	ULyraWeaponDebugSettings();

	//~UDeveloperSettings 接口
	/**
	 * 获取类别名称。
	 * @return 返回类别名称
	 */
	virtual FName GetCategoryName() const override;
	//~End of UDeveloperSettings 接口

public:
	// 是否绘制子弹轨迹的调试图形（如果大于零，设置持续时间（秒））
	UPROPERTY(config, EditAnywhere, Category=General, meta=(ConsoleVariable="lyra.Weapon.DrawBulletTraceDuration", ForceUnits=s))
	float DrawBulletTraceDuration;

	// 是否绘制子弹命中点的调试图形（如果大于零，设置持续时间（秒））
	UPROPERTY(config, EditAnywhere, Category = General, meta = (ConsoleVariable = "lyra.Weapon.DrawBulletHitDuration", ForceUnits = s))
	float DrawBulletHitDuration;

	// 当启用子弹命中调试绘制时（见DrawBulletHitDuration），命中半径应该多大？（厘米）
	UPROPERTY(config, EditAnywhere, Category = General, meta = (ConsoleVariable = "lyra.Weapon.DrawBulletHitRadius", ForceUnits=cm))
	float DrawBulletHitRadius;
};